<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>read</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">C++ I/O</a> &gt; <a href="read.html">read</a>
  </div>

  <div class="name-format">
    read
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  #include &lt;fstream&gt;
  istream&amp; read( char* buffer, streamsize num );
</pre>

  <p>The function read() is used with input streams, and reads
  <em>num</em> bytes from the stream before placing them in
  <em>buffer</em>. If <strong>EOF</strong> is encountered, read()
  stops, leaving however many bytes it put into <em>buffer</em> as they
  are.</p>

  <p>For example:</p>
  <pre class="example-code">
   struct {
     int height;
     int width;
   } rectangle;         

   input_file.read( (char *)(&amp;rectangle), sizeof(rectangle) );
   if( input_file.bad() ) {
     cerr &lt;&lt; &quot;Error reading data&quot; &lt;&lt; endl;
     exit( 0 );
   }            
</pre>

  <div class="related-name-format">
    Related topics:
  </div>

  <div class="related-content">
    <a href="gcount.html">gcount</a><br>
    <a href="get.html">get</a><br>
    <a href="getline.html">getline</a><br>
    <a href="write.html">write</a>
  </div>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
